import VueRouter from 'vue-router';
import Vue from 'vue';
// import storage from '../model/Storage.js';
// import store from '../store/index.js';

Vue.use(VueRouter);

const router = new VueRouter({
    mode: 'hash', // 去掉url中的#
    routes: [
        {
            path: '/city',
            redirect: '/cityView'
        },
        {
            path: '/view',
            redirect: '/dashboard'
        },
        {
            path: '/home',
            component: () => import('../charts/LineChart.vue')
        },
        {
            path: '/cityView',
            component: () => import('../view/CityView.vue')
        },
        {
            path: '/dashboard',
            component: () => import('../view/Login.vue')
        },
        {
          path: '/test',
          component: () => import('../view/TestView.vue')
      },
      {
        path: '/404',
        component: () => import('../view/ErrorTest.vue')
    },
    {
        path: '/code',
        component: () => import('../view/CodeTest.vue')
    },
    {
        path: '/receive',
        component: () => import('../view/CodeReceive.vue')
    },
    ]
})

// 设置路由守卫，在进页面之前，判断有token，才进入页面，否则返回登录页面
// if (storage.get("token")) {
//   console.log("token存在,可以进入页面");
//     store.commit("setToken", storage.get("token"));
//   }
// const whiteRouter = ['/view'];

//   router.beforeEach((to, from, next) => {
//     console.log(to);
//     // 判断要去的路由有没有requiresAuth
//     // to.matched.some(r => r.meta.requireAuth) or to.meta.requiresAuth
//     // if (to.matched.some(r => r.meta.requireAuth)) {
//       if (store.state.token) {
//         console.log('有token可以跳转!',store.state.token);
//         next(); //有token,进行request请求，后台还会验证token
//       } else {
//         if (whiteRouter.indexOf(to.path) !== -1) {

//         next();
//       } else {

//         next('/view');
//       }
  
//       }
//     // } else {
//     //   next(); //如果无需token,那么随它去吧
//     // }
//   });
// const whiteList = [ '/dashboard','/test','/404']
// const routeConfigArray = [
//   {
//     path: '/cityView',
//     component: () => import('../view/CityView.vue')
// },
  
//   // 更多路由配置...
// ];

// router.beforeEach((to, from, next) => {

//   if (storage.get("token")) {
//     console.log("token存在,可以进入页面",to.path);
//     /* has token*/
//     if (to.path === '/dashboard') {
//       next() //回到首页

//     } else if (whiteList.indexOf(to.path) !== -1) {
//       console.log("token存在,也在白名单中");
//       next()
//     } else {
//       console.log("token存在,但访问的路径不在白名单中");
//       router.addRoute(routeConfigArray) // 动态添加可访问路由表
//             next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
//               // next('/test' )
           
//     }
//   } else {
//     // 没有token
//     if (whiteList.indexOf(to.path) !== -1) {
//       console.log("token不存在,但在白名单中");
//       // 在免登录白名单，直接进入
//       next()
//     } else {
//       console.log("token不存在,也不在白名单中");
//       // next(`/dashboard?redirect=${to.fullPath}`) // 否则全部重定向到登录页
//       next('/404')  

//     }
//   }
// })

export default router;